
\setlength{\parindent}{0pt}
\setlength{\parskip}{5pt}

\renewcommand{\thesubsubsection}{\thesubsection.\arabic{subsubsection}}
\newcommand{\ssubsection}[1]{\refstepcounter{subsubsection}
\subsubsection{\thesubsubsection\quad #1}}
\newcommand{\prog}[1]{{\sl #1}}
\newenvironment{program}{\begin{quote}\begin{minipage}{\textwidth}\renewcommand{\baselinestretch}{1.0}\sl\begin{tabbing}}{\end{tabbing}\end{minipage}\end{quote}}
\newcommand{\vem}{\bfseries}

%\newcommand{\expand}{\simeq}
\newcommand{\tup}{\overline}
\renewcommand{\mathem}{\sl\bfseries}
\newcommand{\ABSTRACT}{\mbox{\mathem abstract}}
\newcommand{\FINAL}{\mbox{\mathem final}}
\newcommand{\CASE}{\mbox{\mathem case}}
\newcommand{\WHEN}{\mbox{\mathem when}}
\newcommand{\GUARD}{\mbox{\mathem guard}}
%\newcommand{\THIS}{\mbox{\mathem This}}
\newcommand{\This}{\mbox{\mathem this}}
\newcommand{\CLASS}{\mbox{\mathem class}}
\newcommand{\CONSTR}{\mbox{\sl constr}}
%\newcommand{\INFIXR}{\mbox{\mathem infixr}}
%\newcommand{\INFIXRsub}{\mbox{\small infixr}}
\newcommand{\ASPECT}{\mbox{\mathem aspect}}
\newcommand{\IF}{\mbox{\mathem if}}
\newcommand{\THEN}{\mbox{\mathem then}}
\newcommand{\ELSE}{\mbox{\mathem else}}
\newcommand{\extends}{;\EXTENDS;}
\newcommand{\conforms}{<:}
\newcommand{\EXTENDS}{\mbox{\mathem extends}}
\newcommand{\PRIVATE}{\mbox{\mathem private}}
\newcommand{\PACKAGE}{\mbox{\mathem package}}
\newcommand{\DEF}{\mbox{\mathem def}}
\newcommand{\IMPORT}{\mbox{\mathem import}}
\renewcommand{\LET}{\mbox{\mathem let}}
\newcommand{\NEWTYPE}{\mbox{\mathem newtype}}
\newcommand{\NEW}{\mbox{\mathem new}}
%\newcommand{\NIL}{\mbox{\mathem nil}}
\newcommand{\NULL}{\mbox{\mathem null}}
\newcommand{\OVERRIDE}{\mbox{\mathem override}}
\newcommand{\MODULE}{\mbox{\mathem module}}
\newcommand{\DATA}{\mbox{\mathem data}}
\newcommand{\TYPE}{\mbox{\mathem type}}
\newcommand{\VAL}{\mbox{\mathem val}}
\newcommand{\VAR}{\mbox{\mathem var}}
\newcommand{\WITH}{\mbox{\mathem with}}
\newcommand{\PROTECTED}{\mbox{\mathem protected}}
\newcommand{\QUALIFIED}{\mbox{\mathem qualified}}
\newcommand{\VIRTUAL}{\mbox{\mathem virtual}}
\newcommand{\STATIC}{\mbox{\mathem static}}
\newcommand{\SUPER}{\mbox{\mathem super}}
\newcommand{\BYTE}{\mbox{\mathem byte}}
\newcommand{\CHAR}{\mbox{\mathem char}}
\newcommand{\SHORT}{\mbox{\mathem short}}
\newcommand{\INT}{\mbox{\mathem int}}
\newcommand{\LONG}{\mbox{\mathem long}}
\newcommand{\FLOAT}{\mbox{\mathem float}}
\newcommand{\DOUBLE}{\mbox{\mathem double}}
\newcommand{\BOOLEAN}{\mbox{\mathem boolean}}
\newcommand{\UNIT}{\mbox{\mathem unit}}
\newcommand{\Object}{\mbox{\sf Object}}
\newcommand{\BOXED}{\mbox{\sl boxed}}
\newcommand{\qex}{\mbox{::}}

\newcommand{\EOL}{\la\mbox{EOL}\ra}
\newcommand{\syntax}{{\bf Syntax:}}
\newcommand{\todo}[1]{$\clubsuit$ {\bf #1} $\spadesuit$}
\newcommand{\Dollar}{\mbox{\$}}%$
\newcommand{\sref}[1]{\S\ref{#1}}
\newcommand{\nyi}[1]{\footnote{#1 not yet implemented.}}